技術問答
技術文章
iT 徵才
Tag
聊天室
2025 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
2025 iThome 鐵人賽
DAY
12
0
DevOps
DevOps 進化論:從全能型戰士到安全守門員
系列 第
12
篇
Day 12 : 常見的四種 K8s 部署策略(Rolling / Recreate / Blue-Green / Canary
17th鐵人賽
devops
k8s
rollback
minikube
codeseeker2024
2025-08-25 20:14:47
121 瀏覽
分享至
● 前言
延續 Day 11的Minikube 實作,今天把雲端常見的四種部署策略用最精簡的方式梳理:何時用、怎麼做、怎麼回滾。
● 四種部署策略
1.滾動部署(Rolling Update):
▪概念:一批一批替換 Pod,零停機、預設最常用。
▪適用時機:小改動、高頻率上線;新舊版本可同時存在。
▪缺點:回滾要等批次完成;務必設好 readinessProbe。
2.重新創建 (Recreate):
▪概念:先砍掉全部舊 Pod,再創建新 Pod;中間會有停機。
▪適用時機:新舊版本無法並存(如相依資源衝突)且可接受短暫停機。
▪缺點:務必安排維護視窗;檢查資料遷移是否已完成。
3.藍綠部署(Blue-Green):
▪概念:同時維持 兩套完整環境(Blue/Green),以 Service 切換流量。
▪適用時機:大改版、需快速切換/回滾、風險隔離。
▪缺點:基礎設施成本較高;共用資料時要注意 雙版本 schema 相容。
4.金絲雀(Canary):先讓少量流量走新版本,確認穩定再逐步放量。
▪概念:先讓少量流量走新版本,觀察指標穩定再逐步放量。
▪適用時機:對穩定性極敏感、需要以資料驅動控制風險。
▪缺點:需要流量治理能力(Ingress 權重、或 Service Mesh/Argo Rollouts),並配合 SLO/告警。
● 注意事項
▪health probes 一定要有:readinessProbe 防止未就緒先收流量;livenessProbe 自動自癒。
▪資料庫相容性:先做向前/向後相容的 migration;不可並存就選 Recreate 或藍綠。
▪把回滾當日常:確保每次上線都能在 1–2 指令內回滾。
● 總結
Kubernetes 的部署策略並沒有「唯一正解」,而是根據場景取捨:
▪Rolling Update → 適合大部分日常小改動。
▪Recreate → 當新舊版本無法共存時的最後手段。
▪Blue-Green → 成本較高,但能快速切換與回滾。
▪Canary → 最謹慎,也最依賴監控與流量治理。
📌 最重要的是:每次上線都要能快速回滾,這才是真正的安全網。
在 Day 11 我們已經成功把應用程式部署到 Minikube 的 Pod 中,但 Pod 本身只是「內部可見」。
👉下一篇 : 要讓外部世界能真正訪問服務,就需要 Service 與 Ingress。
留言
追蹤
檢舉
上一篇
Day 11:Kubernetes 入門(部署應用程式到 Minikube)
下一篇
Day 13 : 用 Deployment、Service 與 Ingress 打造完整的 K8s 對外服務流程
系列文
DevOps 進化論:從全能型戰士到安全守門員
共
19
篇
目錄
RSS系列文
訂閱系列文
6
人訂閱
15
Day 15:從 YAML 到 Helm:打造可重用的部署模板
16
Day 16 : 高可用與自動擴展:HPA、PDB 與 Deployment 策略圖解
17
Day 17 : 使用 Terraform 打造 AWS × GCP 混合雲基礎架構
18
Day 18 : 從 Terraform 到 Helm:IaC 的雙核心
19
Day 19 : Terraform × Helm : 與 CI/CD 的無縫串接
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
389
組
團體組數
13
組
累計文章數
2744
篇
最後報名日
9/15
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
17th鐵人賽
windows
php
c#
windows server
linux
css
react
熱門問題
關於 ADDC及DNS SERVER的設定提問
中介系統的用處
VMware vCenter Server 不明原因時間跑掉 憑證異常超成一連串異常
不知道網路紅隊的要去那加公司
更換FW後Public IP service無法使用
鼎新ERP欄位可修改預設值嗎
Ansible 連線主機的 port 不是 22 遇到的問題
求檔案分級軟體\手機outlook簽核軟體推薦
備份映像檔
Outlook 寄件備份消失問題 (已解決)
熱門回答
關於 ADDC及DNS SERVER的設定提問
鼎新ERP欄位可修改預設值嗎
不知道網路紅隊的要去那加公司
中介系統的用處
VMware vCenter Server 不明原因時間跑掉 憑證異常超成一連串異常
熱門文章
第8天,省錢三大關鍵字:自動化、共用、開源 / 陳家莊魯肉飯 小魚干辣椒很讚(新北土城)| 30天滷肉飯
Day26 Vibe Coding 所帶來的影響
什麼是 Signal ?
序: AI 加速編碼後,你該學什麼?
第10天,No-Code 快速上線又省錢 / 原汁排骨湯 台北最好喝的排骨湯(台北萬華)| 30天滷肉飯
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}